Skip to main content

Asking Runtime Permissions (ANDROID-React-Native)

This guide helps asking runtime permissions in React-Native framework.

Asking needed permissions in runtime

Some Android permissions must be asked depending on the Android version of the user. If the user has an Android version.

First of all import the PermissionsAndroid Module:

import { PermissionsAndroid } from "react-native";

Permissions for Android 6.0 and above:

async function requestLocationPermission() {
if (!(Platform.OS == "android" && Platform.Version >= 23)) return;
const locationPermission = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.FINE_LOCATION,
PermissionsAndroid.PERMISSIONS.COARSE_LOCATION])
if (locationPermission["android.permission.ACCESS_COARSE_LOCATION"] === PermissionsAndroid.RESULTS.GRANTED
&& locationPermission["android.permission.ACCESS_FINE_LOCATION"] === PermissionsAndroid.RESULTS.GRANTED
) {
console.log("Você pode acessar dispositivos próximos.");
} else {
console.log("Permissões de localização negadas");
}
};

Permissions for Android 12:

async function requestBluetoothPermission() {
if (!(Platform.OS == "android" && Platform.Version >= 31)) return;
const bluetoothPermission = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_ADVERTISE,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT])
if (bluetoothPermission["android.permission.BLUETOOTH_SCAN"] === PermissionsAndroid.RESULTS.GRANTED
&& bluetoothPermission["android.permission.BLUETOOTH_ADVERTISE"] === PermissionsAndroid.RESULTS.GRANTED
&& bluetoothPermission["android.permission.BLUETOOTH_CONNECT"] === PermissionsAndroid.RESULTS.GRANTED) {
console.log("Você pode acessar dispositivos próximos.");
} else {
console.log("Permissões de Bluetooth negadas");
}
};